package cn.tedu.v1;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * 服务器
 * 编写步骤：
 * 1.定义私有属性：ServerSocket【运行服务器端网络连接类】
 */
public class Server {
    //1.定义私有属性：ServerSocket，申请端口号：6666
    private ServerSocket serverSocket;
    //2.实现Server构造器：
    public Server(){
        try {
            serverSocket=new ServerSocket(6666);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    //3.实现start（）方法：等待客户端链接：accept（）返回一个socket对象
    public void start()throws IOException{
        System.out.println("----等待客户端链接----");
       Socket socket= serverSocket.accept();
        System.out.println("一个客户端链接成功了");
//172.21.00.1
        //从客户端链接服务器---链接成功---Socket对象【对话】
       InputStream is= socket.getInputStream();//读入
        //高级流---转换流：目的：指定字符集
        InputStreamReader isr=
                new InputStreamReader(is,"UTF8");
        //高级流--②缓冲流：目的：加速传输
        BufferedReader br=new BufferedReader(isr);

        //客户端--一直写出   服务器--一直读入
        //5.从服务器一直读入文本
        String str=null;//5.1保存每次读入一行
        while (true){
            str= br.readLine();
            System.out.println("客户端说的话："+str);
        }
    }
    //4.创建主方法
    public static void main(String[] args)throws IOException {
        //创建Server对象
        Server server=new Server();//注册软件端口号
        server.start();
    }
}
